package com.ruoyi.datastatistics.service;

import java.text.ParseException;
import java.util.List;
import java.util.Map;

import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.datastatistics.domain.ElectricityMeterHistoryData;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.datastatistics.domain.ElectricityMeterHistoryData;

/**
 * 电-历史数据Service接口
 *
 * @author gdqt
 * @date 2025-03-10
 */
public interface IElectricityMeterHistoryDataService extends IService<ElectricityMeterHistoryData>
{
    /**
     * 查询小-历史数据
     *
     * @param ID 小-历史数据主键
     * @return 小-历史数据
     */
    public ElectricityMeterHistoryData selectMeterHistoryDataByID(Long ID);

    /**
     * 查询小-历史数据列表
     *
     * @param meterHistoryData 小-历史数据
     * @return 小-历史数据集合
     */
    public List<ElectricityMeterHistoryData> selectMeterHistoryDataList(ElectricityMeterHistoryData meterHistoryData) throws ParseException;

    /**
     * 查询小-历史数据列表
     *
     * @param meterHistoryData 小-历史数据
     * @return 小-历史数据集合
     */
    public List<ElectricityMeterHistoryData> selectMeterHistoryDataList2(ElectricityMeterHistoryData meterHistoryData) throws ParseException;

    /**
     * 新增小-历史数据
     *
     * @param meterHistoryData 小-历史数据
     * @return 结果
     */
    public int insertMeterHistoryData(ElectricityMeterHistoryData meterHistoryData);


    public AjaxResult insertMeterHistoryDataAndRealData(ElectricityMeterHistoryData meterHistoryData);

    int batchinsertMeterHistoryData(List<ElectricityMeterHistoryData> list);
    int batchinsertMeterHistoryDataR(List<ElectricityMeterHistoryData> list);

    /**
     * 修改小-历史数据
     *
     * @param meterHistoryData 小-历史数据
     * @return 结果
     */
    public int updateMeterHistoryData(ElectricityMeterHistoryData meterHistoryData);

    /**
     * 批量删除小-历史数据
     *
     * @param IDs 需要删除的小-历史数据主键集合
     * @return 结果
     */
    public int deleteMeterHistoryDataByIDs(Long[] IDs);

    /**
     * 删除小-历史数据信息
     *
     * @param ID 小-历史数据主键
     * @return 结果
     */
    public int deleteMeterHistoryDataByID(Long ID);


    List<ElectricityMeterHistoryData> selectList(ElectricityMeterHistoryData meterHistoryData);
    List<ElectricityMeterHistoryData> selectElectricityMeterHistoryDataLasted(Map<String,  Object> paramsRequeest);
    List<ElectricityMeterHistoryData> selectElectricityMeterHistoryDataLastedMore(Map<String,  Object> paramsRequeest);
}
